#pragma once
#include "comment.h"
#include <vector>
#include "WeakClassifier.h"
#include "StrongClassifer.h"
using namespace std;

class RealAdaboost
{
public:
	RealAdaboost();
	void Train(vector<vector<float>> feats, vector<int> labels);
	int Predict(vector<float> feat, float* confident);
	~RealAdaboost();
private:
	void InitWeight();
	void TestClassifier(float* fAccuracy, float* fFalseAlarm);
private:
	vector<TRAIN_SAMPLE> totalData;
	vector<WeakClassifier*> vcWeakClassifier;
	float _minAccuracy;
	float _maxFalseAlarm;
public:
	vector<StrongClassifer*> vcFinalClassifier;
	int _iBinNum;
};